linux: Prefer testing io_bitmap_ptr to the TIF_IO_BITMAP.
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Mon, 5 Mar 2007 14:20:26 +0000 (14:20 +0000)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Mon, 5 Mar 2007 14:20:26 +0000 (14:20 +0000)
Former is safer (in case TIF_IO_BITMAP is out-of-sync with actual
existence of an I/O bitmap for this process) and more readable, and
probably results in faster code too.
Signed-off-by: Keir Fraser <keir@xensource.com>
linux-2.6-xen-sparse/arch/i386/kernel/process-xen.c

index 051e5ab202c1e076b9cb18ab1507333964b8ea04..2225fcc962045028fa49d5589df5c8e1ab10a78a 100644 (file)
@@ -605,8 +605,7 @@ struct task_struct fastcall * __switch_to(struct task_struct *prev_p, struct tas
                mcl++;
        }
 
-       if (unlikely(test_tsk_thread_flag(prev_p, TIF_IO_BITMAP)
-                    || test_tsk_thread_flag(next_p, TIF_IO_BITMAP))) {
+       if (unlikely(prev->io_bitmap_ptr || next->io_bitmap_ptr)) {
                iobmp_op.bitmap   = (char *)next->io_bitmap_ptr;
                iobmp_op.nr_ports = next->io_bitmap_ptr ? IO_BITMAP_BITS : 0;
                mcl->op      = __HYPERVISOR_physdev_op;